package gerardoapps;


import java.util.ArrayList;
import java.util.List;

import sistemas.sam.R;


import Clases.Materias;
import Clases.calificacion;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.ViewGroup.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;

public class Calificaiones extends Activity {
	int numf,numc;
	
	int cont=0;
	int contId=0;
	String matricula,idC;
	List l =new ArrayList();
	List lm=new ArrayList();
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.consultacalif);
		
	    Bundle bundle = getIntent().getExtras();
	    
	     matricula=bundle.getString("id");
	       int f=Integer.parseInt(bundle.getString("fila"));
	       idC=String.valueOf(bundle.getString("idC"));
	       
   
        f++;
        int filas = f;
        int colum = 9;
        int tam = 2;
        
         numc = filas;
        numf=colum;
        LinearLayout ll = (LinearLayout) findViewById(R.id.linearUlt);
        
        TextView titulo= new TextView(this);
        titulo.setText("Tabla Dinamica de " + filas +" Filas X " + colum + " Columnas");
        ll.addView(titulo);
        //Llamamos al metodo dibujarTabla (AnchoBorde, Filas, Columnas, colorBorde)
        TableLayout etiquetaTabla = dibujarTabla(tam, filas, colum, "#E1CDCD");
        ll.addView(etiquetaTabla);
        
        
        
    }

    public TableLayout dibujarTabla(int tamBorde, int numeroFilas, int numeroColumnas, String colorBorde){
    	TableLayout tabla = new TableLayout(this);
    	
    	if(numeroFilas>0 && numeroColumnas>0){
	    	TableRow fila = new TableRow(this);
	    	
	    	
	    	int numeroCeldas = numeroFilas * numeroColumnas;
	    	

	    	
	    	int ancho=(getWindowManager().getDefaultDisplay().getWidth()/numeroColumnas)-(tamBorde+(tamBorde/(numeroColumnas)));

	    	ancho--;
	    	
	    	
	    	int contadorColumnas=0;
	        int contadorFilas=0;
	    	
	        for (int i = 0; i <= numeroCeldas; i++) {
	        
	        	if(contadorColumnas==numeroColumnas){
	        		tabla.addView(fila);
	        		fila = new TableRow(this);
	        		contadorColumnas=0;
	        		contadorFilas++;
	        		
	        	}
	        	
	        	//Definimos los bordes de la tabla
	        	RelativeLayout borde = new RelativeLayout(this);
	        	//Dibuja los de arriba y la izquierda siempre
	        	borde.setPadding(tamBorde,tamBorde,0,0);
	        	//Pero
	        	//Si ya es la ultima columna de la fila...
	        	if(contadorColumnas==numeroColumnas-1){
	        		//Dibuja los de arriba a la derecha e izquierda.
	        		borde.setPadding(tamBorde, tamBorde, tamBorde, 0);
	        	}
	        	//Si Es la ultima fila
	        	if(contadorFilas==numeroFilas-1){
	        		//Dibuja arriba, izquierda y abajo
	        		borde.setPadding(tamBorde,tamBorde,0,tamBorde);
	        		//Si ademas de ser la ultima fila es la ultima columna
	        		if(contadorColumnas==(numeroColumnas)-1){
	        			//Dibuja todos los lados
	        			borde.setPadding(tamBorde,tamBorde,tamBorde,tamBorde);
	        		}
	        	}
	        	//Color del borde.
	        	borde.setBackgroundColor(Color.parseColor(colorBorde));
	        	
	        	//Ahora el texto..
	        	TextView texto = new TextView(this);
	      	    EditText nom =new EditText(this);    	
	      	    Button boton = new Button(this);
	      	    
	      	    if(i==0){
	      	    	
	      	    	ancho=ancho+150;
	      	    	texto.setText("Materias");	
	      	    	
	        		texto.setWidth(ancho);
		        	texto.setGravity(Gravity.CENTER);
		        	texto.setPadding(2, 2, 2, 2);
		        	//Importante el color, porque si no se verá de color del borde!!
		        	texto.setBackgroundColor(Color.WHITE);
		        	
		       
		        	
		        	//Al borde le añadimos el texto
		        	borde.addView(texto);
	      	    }
	      	    
	      	    
	      	    else if(i==1 || i<numf){
	      	    
	      	    	
	        		texto.setText("Unidad "+i);
	       	
	        		texto.setWidth(ancho);
		        	texto.setGravity(Gravity.CENTER);
		        	texto.setPadding(2, 2, 2, 2);
		        	texto.setBackgroundColor(Color.WHITE);
		        	
		       
		        	
		        	//Al borde le añadimos el texto
		        	borde.addView(texto);
		        	
	        	}else if(contadorColumnas==0 ){
	        	calificacion cc=new calificacion();
	        	 l=cc.MateriasAlumn(idC);	
	        	
	        		texto.setText(""+l.get(cont));
	        		texto.setWidth(ancho);
		        	texto.setGravity(Gravity.CLIP_HORIZONTAL);
		        	texto.setPadding(2, 2, 2, 2);
		        	//Importante el color, porque si no se verá de color del borde!!
		        	texto.setBackgroundColor(Color.WHITE);
		        	
		       
		        	
		        	//Al borde le añadimos el texto
		        	borde.addView(texto);
		        cont++;
	        	}
	        	
	        	else if(contadorColumnas>0)
	        	{
	        	//texto.setText("fila "+(i+1)+" col "+contadorColumnas);
	        		
	        		
	        			calificacion cc=new calificacion();
	        			 lm=cc.MateriaId(idC);
	        			contId=contadorFilas-1;
	        		String id=""+lm.get(contId);
	        		String idU=""+contadorColumnas;
	        			String calif=cc.CalificacionM(id,idU,matricula);
	        			//texto.setText(contadorColumnas+"/"+contadorFilas);
	        		texto.setText(""+calif);
	        			texto.setWidth(ancho);
	        			texto.setGravity(Gravity.CENTER);
	        			texto.setPadding(2, 2, 2, 2);
	        			texto.setBackgroundColor(Color.WHITE);
		        	borde.addView(texto);
		        	
	        		
	        		
	        	}
	      	  
	        	//Y a la fila el borde con el texto
	        	fila.addView(borde);
	        	contadorColumnas++;
				 
			}
    	}else{
            TextView error= new TextView(this);
            error.setText("Valores de columnas o filas deben ser mayor de 0");
            tabla.addView(error);
		}
    	return tabla;
    }



	 @Override
	    public boolean onKeyDown(int keyCode, KeyEvent event) {
	        if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
	        Intent i=new Intent(this,Alumno.class);
	        
	        Bundle bundle = new Bundle();
			bundle.putString("id",matricula);
			i.putExtras(bundle);
	        startActivity(i);
	       finish();
	        }
			return false;
			
	 }

	 
	


	}



